$NOMOD51                    ; wylaczenie predefinicji rejestrow

$INCLUDE(reg517.inc)

//ORG 100H              ; adres poczatku programu

LCD_Stat equ 0ff2eh         ; rejestr stanu ukladu LCD
LCD_Ctrl equ 0ff2ch         ; rejestr sterujacy
LCD_DataWR equ 0ff2dh       ; rejestr zapisu danych

 
LCD_On equ 0eh              ; kod wlaczajacy wyswietlacz
LCD_Reset equ 38h           ; kod resetujacy wyswietlacz              
LCD_Clr equ 01h             ; czyszczenie i kursor na poczatek
ASCII_Code equ 61h	
LCD_Second_Line equ 0ch		

 

START:

              MOV R5,#61h          ; kod znaku do rejestru pomocniczego
              MOV DPTR,#LCD_Ctrl     ; adres rejestru sterujacego do DPTR
              MOV A,#LCD_Reset        ; kod funkcji resetujacej uklad LCD
              MOVX @DPTR,A            ; wyslanie kodu funkcji do rejestru sterujacego
              CALL TEST               ; kontrola dostepnosci
              MOV A,#LCD_Clr          ; kod funkcji czyszczacej do akumulatora
              MOVX @DPTR,A   

WYSWIETL:

              CALL TEST
              MOV DPTR,#LCD_DataWR     ; adres rejestru danych do zapisu
              MOV A,R5                 ; zapisanie kodu znaku do akumulatora
              MOVX @DPTR,A             ; wyslanie danej na wyswietlacz 
WYSWIETL2:
			  MOV R5,#61h     
			  call TEST     ; kod znaku do rejestru pomocniczego
              MOV DPTR,#LCD_Ctrl     ; adres rejestru sterujacego do DPTR
               							; kontrola dostepnosci
              MOV A,#40h          ; kod funkcji czyszczacej do akumulatora
              MOVX @DPTR,A
			  CALL TEST
              MOV DPTR,#LCD_DataWR     ; adres rejestru danych do zapisu
              MOV A,R5                 ; zapisanie kodu znaku do akumulatora
              MOVX @DPTR,A   


TEST:

              PUSH DPH
              PUSH DPL
              PUSH ACC
              MOV DPTR,#LCD_Stat
LOOP_NOT:

              MOVX A, @DPTR
              JB ACC.7,LOOP_NOT
              POP ACC
              POP DPL
              POP DPH
              RET


			  NOP
			  NOP
			  NOP
END